package com.aggregate.pay.sanstar.bean;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.aggregate.pay.sanstar.enums.SaleMeet;
import com.aggregate.pay.sanstar.enums.SaleType;

/**
 * 单卡配置
 * @author Moyq5
 * @date 2022年12月2日
 */
public class CardSetting {
	
    /**
     * [优惠]优惠策略
     */
    private SaleType saleType = SaleType.NONE;
    /**
     * [优惠]折扣率：0~100%
     */
    private Integer saleRate = 100;
    /**
     * [优惠]满减设置
     */
    private List<SaleMeet> saleMeets;
    /**
     * 单日交易金额限制，单位：元
     */
    private BigDecimal dayAmount = new BigDecimal(200);
    /**
     * 单日交易笔数限制
     */
    private Integer dayCount = 10;
    /**
     * 单笔交易金额限制，单位：元
     */
    private BigDecimal payAmount = new BigDecimal(100);
    /**
     * 交易频率限制，单位：秒
     */
    private Integer payPeriod = 10;
    /**
     * 允许最大余额，单位：元
     */
    private BigDecimal balance = new BigDecimal(1000);
    /**
     * 过期时间
     */
    private Date overTime = new Date(System.currentTimeMillis() + 315_360_000_000L);
    public SaleType getSaleType() {
        return saleType;
    }
    public void setSaleType(SaleType saleType) {
        this.saleType = saleType;
    }
    public Integer getSaleRate() {
        return saleRate;
    }
    public void setSaleRate(Integer saleRate) {
        this.saleRate = saleRate;
    }
    public List<SaleMeet> getSaleMeets() {
        return saleMeets;
    }
    public void setSaleMeets(List<SaleMeet> saleMeets) {
        this.saleMeets = saleMeets;
    }
    public BigDecimal getDayAmount() {
        return dayAmount;
    }
    public void setDayAmount(BigDecimal dayAmount) {
        this.dayAmount = dayAmount;
    }
    public Integer getDayCount() {
        return dayCount;
    }
    public void setDayCount(Integer dayCount) {
        this.dayCount = dayCount;
    }
    public BigDecimal getPayAmount() {
        return payAmount;
    }
    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }
    public Integer getPayPeriod() {
        return payPeriod;
    }
    public void setPayPeriod(Integer payPeriod) {
        this.payPeriod = payPeriod;
    }
    public BigDecimal getBalance() {
        return balance;
    }
    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }
    public Date getOverTime() {
        return overTime;
    }
    public void setOverTime(Date overTime) {
        this.overTime = overTime;
    }
}
